1. Field of the Invention
This invention relates to page generation systems, and more particularly to generating one or more bands of a page from a print data signal.
2. Description of Related Art
Page generators are used to generate pages for screen images, printed pages, and other viewable mediums. FIG. 1 is a block diagram of a prior art page generator 10. The generator 10 includes a page generation controller 70, a data storage unit 12, and a data transformer/manipulator 15. The page generation controller 70 receives data signals representing a page to be built. The page generation controller 70 in conjunction with the data storage unit 12 and data transformer 15 convert received signals into transmit signals that represent one or more bands of a page, i.e., generates a page from the received signals.
The page generation controller 70 buffers received data signals in the data storage unit 12. The signal is typically buffered because data signals are received at a faster data rate than they are transmitted. The signal may also be buffered because it represents an encoded signal. Further, the controller 70 may buffer the received signal until sufficient data has been received to generate one or more bands of a page. In each scenario, the controller 70 buffers the received signal in the data storage unit 12 where the data storage unit may be a form of random access memory (xe2x80x9cRAMxe2x80x9d) or other storage medium (including magnetic and optical medium).
In order to reduce the required capacity of the storage unit 12, the page generation controller 70 may include a compressor/decompressor (xe2x80x9cC/Dxe2x80x9d). The C/D compresses the received data signal prior to storage in the data storage unit 12. Preferably, the received data is compressed and decompressed using a loss-less compression and decompression algorithm such as Adaptive Lossless Data Compression (xe2x80x9cALDCxe2x80x9d), which is well known by those of ordinary skill in the art. See, for example, commonly assigned U.S. Pat. No. 5,572,209 xe2x80x9cMethod and apparatus for compressing and decompressing data,xe2x80x9d to Farmer et al. issued Nov. 5, 1996.
The controller 70 buffers the received data signal for several reasons. When the data signal represents an encoded signal, the encoded signal is decoded to generate a page. Data transformer 15 generates the page based on the corresponding encoded signals. Data transformer 15 typically converts the encoded signal into bands of a page and then stores the page in the data storage unit 12. A block of memory is dedicated to the page. The encoded signal generally represents an area of a page that contains data to be printed. In order to expedite the construction of a page, the data transformer 15 in conjunction with the controller 70 only write to those areas of the memory block that represent data on a page, not areas of the page that are blank. Accordingly, when constructing a page in memory the memory block representing the page must be initially clear.
In prior art controllers 70, after a page is generated, retrieved from storage 12, and converted to a transmit signal, the entire corresponding memory block is typically cleared. This process is inefficient because it consumes additional write cycles, thus reducing the potential throughput of the page generator 10. The performance of the system 10 is further reduced when a C/D is employed. After a page is constructed in memory the page is compressed until it can be transmitted. After converting the signal into a compressed signal and storing it in the storage unit 12, the memory block must be cleared. The combination of read and write cycles required to 1) construct a page in memory; 2) read the constructed page from memory; 3) compress the constructed page; 4) write the compressed, constructed page to memory; 5) clear the sections of memory; and 6) read the compressed, constructed page from memory so it may be decompressed, converted, and transmitted may severely limit the throughput of the page generator 10. A more efficient page generator is needed, in particular in systems employing data compression.
The present invention provides an efficient page generation system. The system writes data representing a page segment image to a memory block. This effectively generates the page segment provided the memory block is initially clear, i.e., only the page segment positive image content is written to memory. Data stored in the memory block representing the page segment is read and the data stored in the memory block is cleared immediately after reading the data. Accordingly, the memory block is clear after constructing the page segment. Thus, additional page segments may be constructed in the memory block by directly writing the page segment image to the memory block. In a preferred embodiment, a memory location is read and cleared during a single bus cycle and during a single bus request execution.
Compression can be used to conserve memory usage. In a preferred embodiment, page segments are compressed and stored in memory blocks. A memory block is cleared as the compressed page stored therein is read.